home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / OpenDoc 1.2b2c1 / OpenDoc / Interfaces / CPlusPlus / Shape.xh < prev    next >
Encoding:
Text File  |  1997-02-13  |  5.2 KB  |  245 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Shape.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emitxh.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODShape_xh
  18. #define SOM_ODShape_xh
  19.  
  20. class ODShape;
  21.  
  22. #define ODShape_MajorVersion 1
  23. #define ODShape_MinorVersion 0
  24.  
  25. /* C++ SOM defs */
  26. #include <somcls.xh>
  27. #include <somcm.xh>
  28.  
  29. /* C++ parent defs */
  30. #ifndef SOM_ODBaseShape_xh
  31. #include <ShapeB.xh>
  32. #endif
  33.  
  34. #ifndef ODShape_API
  35. #define ODShape_API
  36. /*
  37.  * -- The Class API
  38.  */
  39.  
  40. /*
  41.  * Start of user-defined types:
  42.  */
  43. class SOMClass;
  44. class SOMObject;
  45. class ODFrame;
  46. class ODFacet;
  47. class ODObject;
  48. class ODExtension;
  49. class ODRefCntObject;
  50. class ODBaseShape;
  51. class ODShape;
  52. class ODTransform;
  53. class ODStorageUnit;
  54.  
  55. /*
  56.  * End of user-defined types.
  57.  */
  58.  
  59. #ifdef OLDIBMSOMAPISUPPORT
  60. #define ODShapeCClassData ODShapeClassData
  61. #define ODShapeNewClass(major,minor) somNewVersionedClassReference(ODShape,major,minor)
  62. #endif
  63.  
  64. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  65. #define ODShapeMetaClass SOMClass
  66.  
  67. #if PRAGMA_ALIGN_SUPPORTED
  68. #  pragma options align=power
  69. #endif
  70.  
  71. /* The API to the ODShape class object, and the methods it introduces. */
  72. SOMEXTERN struct ODShapeClassDataStructure {
  73. #ifdef OLDIBMSOMAPISUPPORT
  74.     SOMClass            *classObject;    /* always zero, use somNewClassReference instead */
  75. #else
  76.     long zero;
  77. #endif
  78.     somStaticClassInfo *sci;
  79.     somDToken        instanceDataToken;
  80.     long reserved [3];
  81.     somMToken InitShape;
  82.     somMToken GetQDRegion;
  83.     somMToken SetQDRegion;
  84.     somMToken GetGXShape;
  85.     somMToken SetGXShape;
  86.     somMToken CopyQDRegion;
  87. } SOMDLINK ODShapeClassData;
  88.  
  89. #if PRAGMA_ALIGN_SUPPORTED
  90. #  pragma options align=reset
  91. #endif
  92.  
  93. #if !defined(ODShape_Class_Source) && !defined(SOM_Module_shape_Source)
  94. #if PRAGMA_IMPORT_SUPPORTED
  95. #pragma import list ODShapeClassData
  96. #endif
  97. #endif
  98.  
  99.  
  100. /*
  101.  * -- Typedefs and inline method declarations for left path inherited methods
  102.  * -- are omitted because this compilation had -museinheritedmethods in effect
  103.  */
  104.  
  105.  
  106. /*
  107.  * -- Typedefs for ODShape Method Procedures
  108.  */
  109. SOMEXTERN {
  110. typedef void   (* SOMLINK somTD_ODShape_InitShape)(ODShape *somSelf, Environment *ev);
  111. typedef ODRgnHandle   (* SOMLINK somTD_ODShape_GetQDRegion)(ODShape *somSelf, Environment *ev);
  112. typedef void   (* SOMLINK somTD_ODShape_SetQDRegion)(ODShape *somSelf, Environment *ev,
  113.         ODRgnHandle rgn);
  114. typedef ODgxShape   (* SOMLINK somTD_ODShape_GetGXShape)(ODShape *somSelf, Environment *ev);
  115. typedef void   (* SOMLINK somTD_ODShape_SetGXShape)(ODShape *somSelf, Environment *ev,
  116.         ODgxShape s);
  117. typedef ODRgnHandle   (* SOMLINK somTD_ODShape_CopyQDRegion)(ODShape *somSelf, Environment *ev);
  118. }
  119.  
  120. #endif /* ODShape_API */
  121.  
  122.  
  123. /*
  124.  * -- This emitter treats Method Tokens as Thunks by default.
  125.  * -- Use the sc modifier "nothunks" to change this default
  126.  */
  127. #undef somresolve_
  128. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  129.  
  130. /*
  131.  * -- The C++ Wrapper Class for ODShape
  132.  */
  133. class ODShape : public ODBaseShape
  134. {
  135. public:
  136.  
  137. // ODShape::new registers use of the class object, and then uses somNew
  138. // to allocate memory and load the object method table pointer. 
  139. void *operator new(size_t size)
  140. {
  141.     SOM_IgnoreWarning(size);
  142.     // Allocate memory using the default allocator for ODShape, and
  143.     // clear mem & set method table pointer, call basic initialization
  144. #ifdef SOMCHKNULL
  145.     void * __somResult = (void *)
  146.       somNewObject(ODShape);
  147.     SOMCHKNULL(__somResult);
  148.     return __somResult;
  149. #else
  150.     return (void*) somNewObject(ODShape);
  151. #endif
  152. }
  153.  
  154. // ODShape::delete uses the default deallocator for the object's class.
  155. void operator delete(void * obj)
  156. {
  157.     if (obj) {
  158.         SOM_Resolve(obj,SOMObject,somFree)
  159.            ( (SOMObject*) obj );
  160.     }
  161. }
  162.  
  163. /* method: InitShape */
  164. void   InitShape(Environment *ev)
  165. {
  166.    SOM_ResolveD(this,ODShape,ODShape,InitShape)
  167.     (this,ev);
  168. #ifdef SOMCHKEXCEPT
  169.       SOMCHKEXCEPT;
  170. #endif
  171. }
  172.  
  173. /* method: GetQDRegion */
  174. ODRgnHandle   GetQDRegion(Environment *ev)
  175. {
  176.    #ifdef SOMCHKEXCEPT
  177.    ODRgnHandle __somResult = 
  178.       SOM_ResolveD(this,ODShape,ODShape,GetQDRegion)
  179.     (this,ev);
  180.       SOMCHKEXCEPT;
  181.    return __somResult;
  182. #else
  183.    return SOM_ResolveD(this,ODShape,ODShape,GetQDRegion)
  184.     (this,ev);
  185. #endif
  186. }
  187.  
  188. /* method: SetQDRegion */
  189. void   SetQDRegion(Environment *ev,
  190.         ODRgnHandle rgn)
  191. {
  192.    SOM_ResolveD(this,ODShape,ODShape,SetQDRegion)
  193.     (this,ev,rgn);
  194. #ifdef SOMCHKEXCEPT
  195.       SOMCHKEXCEPT;
  196. #endif
  197. }
  198.  
  199. /* method: GetGXShape */
  200. ODgxShape   GetGXShape(Environment *ev)
  201. {
  202.    #ifdef SOMCHKEXCEPT
  203.    ODgxShape __somResult = 
  204.       SOM_ResolveD(this,ODShape,ODShape,GetGXShape)
  205.     (this,ev);
  206.       SOMCHKEXCEPT;
  207.    return __somResult;
  208. #else
  209.    return SOM_ResolveD(this,ODShape,ODShape,GetGXShape)
  210.     (this,ev);
  211. #endif
  212. }
  213.  
  214. /* method: SetGXShape */
  215. void   SetGXShape(Environment *ev,
  216.         ODgxShape s)
  217. {
  218.    SOM_ResolveD(this,ODShape,ODShape,SetGXShape)
  219.     (this,ev,s);
  220. #ifdef SOMCHKEXCEPT
  221.       SOMCHKEXCEPT;
  222. #endif
  223. }
  224.  
  225. /* method: CopyQDRegion */
  226. ODRgnHandle   CopyQDRegion(Environment *ev)
  227. {
  228.    #ifdef SOMCHKEXCEPT
  229.    ODRgnHandle __somResult = 
  230.       SOM_ResolveD(this,ODShape,ODShape,CopyQDRegion)
  231.     (this,ev);
  232.       SOMCHKEXCEPT;
  233.    return __somResult;
  234. #else
  235.    return SOM_ResolveD(this,ODShape,ODShape,CopyQDRegion)
  236.     (this,ev);
  237. #endif
  238. }
  239.  
  240. };   /* ODShape */
  241.  
  242.  
  243.  
  244. #endif       /* SOM_ODShape_xh */
  245.